Explicit and implicit parallel functional programming: concepts and implementation

نویسنده

  • Jost Berthold
چکیده

This thesis investigates the relation between the two conflicting goals of explicitness and abstraction, for the implementation of parallel functional languages and skeletons. Necessary and useful coordination features for implementing parallel coordination in a functional implementation language will be identified, leading to the proposal of a Haskell extension for explicit low-level coordination, and to a concept of structuring implementations for parallel functional languages in layers of increasing abstraction. The first main part concentrates on implementation techniques and requirements. We are describing the layered implementation of the parallel functional language Eden, pointing out advantages of its layer structure and deriving the coordination features of the proposed explicit low-level language, named EdI. Subsequently, the presented implementation concept is generalised to the design and a prototype implementation of a generic parallel runtime system for management of parallel functional computations, major parts of which are encoded in Haskell. In a second main part, we concentrate on implementations of parallel skeletons, thereby investigating expressiveness and pragmatics of the proposed lowlevel language EdI in comparison to the language Eden. Exemplarily, a range of implementations is presented for data parallel skeletons implementing map, map-reduce, and the Google-MapReduce programming model. Furthermore, we present and discuss a new skeleton category: topology skeletons, which describe interaction and communication patterns in regularly structured process networks. In a broader context, the implementation concepts and skeleton implementations which we present underline that functional languages provide a suitable abstraction level to reason about parallel programming and to circumvent its complexity.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

High-accuracy alternating segment explicit-implicit method for the fourth-order heat equation

Based on a group of new Saul’yev type asymmetric difference schemes constructed by author, a high-order, unconditionally stable and parallel alternating segment explicit-implicit method for the numerical solution of the fourth-order heat equation is derived in this paper. The truncation error is fourth-order in space, which is much more accurate than the known alternating segment explicit-impli...

متن کامل

Parallel Programming Using

Programming parallel machines is notoriously diicult. Factors contributing to this diiculty include the complexity of concurrency, the eeect of resource allocation on performance and the current diversity of parallel machine models. The net result is that eeective portability, which depends crucially on the predictability of performance, has been lost. Functional programming languages have been...

متن کامل

Parallel Programming Using Skeleton Functions

Prograxnming parallel machines is notoriously difficult. Factors contributing to this difficulty include the complexity of concurrency, the effect of resource allocation on performance and the current diversity of parallel machine models. The net result is that effective portability, which depends crucially on the predictability of performance, has been lost. Functional programming languages ha...

متن کامل

Programming in Manticore, a Heterogenous Parallel Functional Language

The Manticore project is an effort to design and implement a new functional language for parallel programming. Unlike many earlier parallel languages, Manticore is a heterogeneous language that supports parallelism at multiple levels. Specifically, the Manticore language combines Concurrent ML-style explicit concurrency with fine-grain, implicitly threaded, parallel constructs. These lectures w...

متن کامل

A Comparison of Implicit and Explicit Parallel Programming

The impact of the parallel programming model on scientiic computing is examined. A comparison is made between Sisal, a functional language with implicit parallelism, and SR, an imperative language with explicit parallelism. Both languages are modern, high-level, concurrent programming languages. Five diierent scientiic applications were programmed in each language, and evaluated for programmabi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008